<?php
App::uses('Review', 'Model');

/**
 * Comentario Test Case
 *
 */
class ReviewTestCase extends CakeTestCase {
	
	public $fixtures = array('app.produto', 'app.review');
	
	public function setUp() {
		parent::setUp();
		$this->Review = ClassRegistry::init('Review');
	}
	
	public function testUltimosReviews(){
		$expected = array(
			array('Review'=>array('id' => 1,
			   	'produto_id' => 1,
			   	'usuario_id' => 2,
			   	'texto' => 'Esse é um produto muito bom!',
			   	'numero_votos' => 10,
			   	'media_votos' => 5,
			  	'curtidos'=>100,
			  	'created'=>'2020-01-10 10:39:23'
			  	)
		    ),
		    array('Review'=>array('id' => 2,
		      	'produto_id' => 1,
		       	'usuario_id' => 1,
		       	'texto' => 'Esse é um produto muito bom!',
		       	'numero_votos' => 10,
		       	'media_votos' => 5,
		       	'curtidos'=>100,
		       	'created'=>'2020-01-10 09:39:23'
		       	)
        	),
        	array('Review'=>array('id' => 3,
	        	'produto_id' => 1,
	        	'usuario_id' => 1,
	        	'texto' => 'Esse é um produto muito bom!',
	        	'numero_votos' => 10,
	        	'media_votos' => 5,
	        	'curtidos'=>100,
	        	'created'=>'2020-01-10 08:39:23'
        		)
        	)
		);
		$result = $this->Review->ultimosReviews('teste');
		$this->assertEquals($expected, $result);
	}
	
	public function testReviewsPorUsuario(){
		$expected = array(
		    array('Review'=>array('id' => 2,
		      	'produto_id' => 1,
		       	'usuario_id' => 1,
		       	'texto' => 'Esse é um produto muito bom!',
		       	'numero_votos' => 10,
		       	'media_votos' => 5,
		       	'curtidos'=>100,
		       	'created'=>'2020-01-10 09:39:23'
		       	)
        	),
        	array('Review'=>array('id' => 3,
	        	'produto_id' => 1,
	        	'usuario_id' => 1,
	        	'texto' => 'Esse é um produto muito bom!',
	        	'numero_votos' => 10,
	        	'media_votos' => 5,
	        	'curtidos'=>100,
	        	'created'=>'2020-01-10 08:39:23'
        		)
        	)
		);
		//Resultado correto
		$result = $this->Review->reviewsPorUsuario('teste', 1);
		$this->assertEquals($expected, $result);
		//Resultado incorreto
		$result = $this->Review->reviewsPorUsuario('teste', 2);
		$this->assertNotEquals($expected, $result);
	}
	
}